// 导入 axios
import axios from 'axios'

// 创建 axios 实例
const request = axios.create({
  // 配置对象
  // 请求根路径
  baseURL: 'http://39.98.123.211',
  // 请求超时时间
  timeout: 5000
})

// 请求拦截器
request.interceptors.request.use((config) => {
  // 请求发送出去之前做点什么
  return config // config 里面包含了 headers请求头
})

// 响应拦截器
request.interceptors.response.use(
  (res) => {
    // 服务器响应成功的回调函数，res 是服务器返回回来的数据
    // 服务器相应数据回来了，做点什么
    return res.data // 返回服务器返回的数据
  },
  (error) => {
    // 服务器响应失败的回调函数，error 是错误信息
    return Promise.reject(new Error(error)) // 返回一个失败态的Promise对象，并将错误信息返回给这个promise对象
  }
)

// 向外暴露 axios 实例，这样外界就可以使用 axios 的实例了
export default request
